// UEWaukeshaPump200Series.h: interface for the CUEWaukeshaPump200Series class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_UEWAUKESHAPUMP200SERIES_H__5E4C0676_2EF1_4E84_AE88_FEA7A6A7ED82__INCLUDED_)
#define AFX_UEWAUKESHAPUMP200SERIES_H__5E4C0676_2EF1_4E84_AE88_FEA7A6A7ED82__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "uecone.h"
#include "uecuniform.h"
#include "uebox.h"
#include "stdafx.h"

class CUEWaukeshaPump200Series  
{
public:
	CUEWaukeshaPump200Series();
	virtual ~CUEWaukeshaPump200Series();

public:
	virtual Acad::ErrorStatus Draw();

public:
	CUECone m_column1;
	CUECone m_column2;
	CUECone m_column3;
	CUECone m_column4;
	CUECone m_column5;
	CUECone m_column6;
	CUECone m_column7;
	CUECone m_column8;
	CUECone m_suctioncolumn1;
	CUECone m_suctioncolumn2;
	CUECone m_suctioncone;
	CUECone m_dischargecone;
	CUECone m_dischargecolumn1;
	CUECone m_dischargecolumn2;
	CUEBox m_box1;
	CUEBox m_box2;
	CUECuniform m_cuniform;
	CUECone m_cone1;
	CUECone m_cone2;

	double m_dbA;
	double m_dbZ;
	double m_dbAB;
	double m_dbE;
	double m_dbCP;
	double m_dbY;
	double m_dbX;
	double m_dbL;
	double m_dbG;
	double m_dbF;
	double m_dbD;
	double m_dbB;
	double m_dbAA;
	double m_dbINLETSIZE;
	AcGePoint3d m_basePoint;
	AcGeVector3d m_dir;
private:
	void CaculateSuction();
	void CaculateDischarge();
	bool SetParameter();
	void Caculatebox2();
	void Caculatecolumn8();
	void Caculatecolumn7();
	void Caculatecolumn6();
	void Caculatecolumn5();
	void Caculatecuniform();
	void Caculatebox1();
	AcGeVector3d VerticalVector(AcGeVector3d vector);
	void Caculatecone2();
	void Caculatecolumn4();
	void Caculatecone1();
	void Caculatecolumn3();
	void Caculatecolumn2();
	AcGePoint3d GetPoint(const AcGePoint3d basePoint, const AcGeVector3d vector, double dblen);
	void Caculatecolumn1();
};

#endif // !defined(AFX_UEWAUKESHAPUMP200SERIES_H__5E4C0676_2EF1_4E84_AE88_FEA7A6A7ED82__INCLUDED_)
